var form;
var sidx = "id";
var sord = "desc";
var curr = 1;
var treesource = [];
var currentobj = [];
var contextPath = $('input[name=contextPath]').val().replace("/main","");
$(function() {
	 var winheight= $(window).height()-33;
	 $("#divtree").height(winheight);
	 $("#formedit").height(winheight-55);
	 
	getsource();
	
	$("#trtab").hide();  
	$("#trtabshow").hide();  
	
	$("#trbtn").hide();  
	$("#trbtnshow").hide();  
	$("#trclick").hide();  
	// 清除两边的空格 
	String.prototype.trim = function() { 
		return this.replace(/(^\s*)|(\s*$)/g, ''); 
	};
	
	/**
	 * 重写序列化表达
	 */
	(function(window, $) {
		$.fn.serializeJson = function() {
			var serializeObj = {};
			var array = this.serializeArray();
			var str = this.serialize();
			$(array).each(
					function() {
						if (serializeObj[this.name]) {
							if ($.isArray(serializeObj[this.name])) {
								serializeObj[this.name].push(this.value);
							} else {
								serializeObj[this.name] = [
								                           serializeObj[this.name], this.value ];
							}
						} else {
							serializeObj[this.name] = this.value;
						}
					});
			return serializeObj;
		};
	})(window, jQuery);
});
layui.use('form', function() {
	var $ = layui.jquery, form = layui.form();
	form.render();
	
});
//盘算是否为整数
function isInteger(str) {
    return (/^\d+$/.test(str));
}

function getsource(){
	$.ajax({
		url : contextPath + "/sys/sysmenu/gettreeedit",
		data : {
			id:0
		},
		type : 'post',
		async : false,
		dataType : 'json',
		success : function(data) 
		{
			if(data&&data.success)
			{
				treesource = JSON.parse(data.othervalue);//转换成json格式（字符不识别）
			} 
			else
			{
				
				return false;
			}
		}
	});
}


layui.use(['tree', 'layer'], function(){
	  var layer = layui.layer
	  ,$ = layui.jquery; 
	  layui.tree({
	    elem: '#treelist' //指定元素
	    ,skin: 'huang'
	    ,target: '_blank' //是否新选项卡打开（比如节点返回href才有效）
	    ,click: function(item){ //点击节点回调
	    	//layer.msg('当前节名称：'+ item.name + '<br>全部参数：'+ JSON.stringify(item));
	    	
	    	 //点击树形展示类别
	    	 //$("#dsort").val(item.dsort+1);
	    	choosecolor('#treelist',item.name);
	    	fillinfo(item);
	    	$("#remark").val("0");
	    }
	    ,nodes: treesource
	  });
})

function bindtree(){
	 var layer = layui.layer
	  ,$ = layui.jquery; 
	  layui.tree({
	    elem: '#treelist' //指定元素
	    ,skin: 'huang'
	    ,target: '_blank' //是否新选项卡打开（比如节点返回href才有效）
	    ,click: function(item){ //点击节点回调
	    	//layer.msg('当前节名称：'+ item.name + '<br>全部参数：'+ JSON.stringify(item));
	    	choosecolor('#treelist',item.name);
	    	fillinfo(item);
	    	$("#remark").val("0");
	    }
	    ,nodes: treesource
	  });

	
}
	function fillinfo(item)
	{
		//layer.msg('当前节名称：'+ item.name + '<br>全部参数：'+ JSON.stringify(item));
		$("#temp").val(JSON.stringify(item));
    	$("#pid").val(item.pid);
 		$("#id").val(item.id);
 		$("#menuName").val(item.name);
 		$("#href").val(item.event);
 		$("#menuOrder").val(item.menu_Order);
 		$("#menuicon").val(item.icon);
		var kind = item.kind;
		var isdelete = item.Is_delete;
		
		$(".kind").removeAttr("checked");
		$("input[name=kind][value="+kind+"]").next().find("i").click();
 		$("#menunamelast").val(item.menunamelast);
 		
 		$(".isdelete").removeAttr("checked");
		$("input[name=isDelete][value="+isdelete+"]").next().find("i").click();
 		layui.form().render('radio');
 		//这个一定需要渲染radio
 		
	}
	
	

	//清空所有的表单;
	clearform = function(){
		$("#id").val(0);
		$("#pid").val(0);
 		$("#menuname").val("");
 		$("#href").val("");
 		$("#comment").val("");
		$("#treelist").empty();//刷新树
		 getsource();
		 bindtree();
		 reset();
	};
	function reset(){
		 document.getElementById("formedit").reset();
	}
	function changeadd(){
		var id = $("#id").val();
		if(id!=0){
			$("#pid").val(id);
			$("#menunamelast").val($("#menuName").val());
		}
		$("#id").val(0);
 		$("#menuName").val("");
 		$("#href").val("");
 		$("#comment").val("");
 		$("#remark").val("1");
	}
	
	
	function addmenu(){
		var remark = $("#remark").val();
		if(remark==0){
			layer.alert("请切换成添加模式！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}
		var menuname = $("#menuName").val().trim();
		var menuOrder = $("#menuOrder").val().trim();
		var kind = $("input[name=kind]:checked").val();
		var comment = $("#comment").val().trim();
		var isdelete = $("input[name=isDelete]:checked").val();
		if(menuname.length<1){
			layer.alert("请输入菜单名称！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(menuname.length>20){
			layer.alert("菜单名称不可超过20！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(isInteger(menuOrder)){
			layer.alert("请输入整数！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(kind.length<1){
			layer.alert("请选择类型！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(isdelete.length<1){
			layer.alert("请选择是否启用！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(comment.length>100){
			layer.alert("备注长度不可超过100！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}
		
		$.ajax({
			type:"post",
			url:"/sys/sysmenu/save",
			dataType:"json",
			data:$("#formedit").serializeJson(),
			async:false,
			success:function(r){
				if(r.success){
					clearform();
					layer.alert('添加成功！',{
						skin: 'layui-layer-red' //样式类名
							,closeBtn: 0
					})
				}else{
					layer.alert("添加失败！",{
						skin: 'layui-layer-red' //样式类名
							,closeBtn: 0
					});
				}
			}
			
		})
		$("#temp").val("");
	}
	
	function updatemenu(){
		var remark = $("#remark").val();
		if(remark==1){
			layer.alert("请先退出添加模式！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}
		var menuname = $("#menuName").val().trim();
		var menuOrder = $("#menuOrder").val().trim();
		var comment = $("#comment").val().trim();
		var kind = $("input[name=kind]:checked").val();
		var isdelete = $("input[name=isDelete]:checked").val();
		if(menuname.length<1){
			layer.alert("请输入菜单名称！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(menuname.length>20){
			layer.alert("菜单名称不可超过20！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(!isInteger(menuOrder)){
			layer.alert("序号请输入整数！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(kind.length<1){
			layer.alert("请选择类型！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(isdelete.length<1){
			layer.alert("请选择是否启用！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}else if(comment.length>100){
			layer.alert("备注长度不可超过100！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
			return false;
		}
		
		$.ajax({
			type:"post",
			url:"/sys/sysmenu/updatemeu",
			dataType:"json",
			data:$("#formedit").serializeJson(),
			async:false,
			success:function(r){
				if(r.success){
					clearform();
					layer.alert('更新成功！',{
						skin: 'layui-layer-red' //样式类名
							,closeBtn: 0
					})
					$("#remark").val("1");
				}else{
					layer.alert("更新失败！",{
						skin: 'layui-layer-red' //样式类名
							,closeBtn: 0
					});
				}
			}
			
		})
		$("#temp").val("");
	}

	function deletemenu(){
		
		var temp = $("#temp").val();
		if(temp==null || data==""){
			layer.alert("请选择需要删除的菜单！",{
				skin: 'layui-layer-red' //样式类名
					,closeBtn: 0
			});
		}else{
			var data = JSON.parse(temp);
			if(data.children!=null && data.children!="" ){
				layer.alert("该菜单不可删除！",{
					skin: 'layui-layer-red' //样式类名
						,closeBtn: 0
				});
			}else{
				$.ajax({
					type:"post",
					url:"/sys/sysmenu/deletemenu?id="+data.id,
					dataType:"json",
					async:false,
					success:function(r){
						if(r.success){
							clearform();
							layer.alert('删除成功！',{
								skin: 'layui-layer-red' //样式类名
									,closeBtn: 0
							})
							$("#remark").val("1");
						}else{
							layer.alert("删除失败！",{
								skin: 'layui-layer-red' //样式类名
									,closeBtn: 0
							});
						}
					}
					
				})
				$("#temp").val("");
			}
		}
		
	}
	
	choosebtn= function (obj)
	{
		if(obj)
		{
		$("#choosebtn").removeClass();
		$("#choosebtn").addClass(obj);
		$("#menuIcon").val(obj);
		$("#btnclass").val("layui-btn layui-btn-small");
		}
	
	};
